12.3. Example: time range limited retrieval
This example shows the time-range limited retrieval from a calendar which results in 2 events, one a recurring event and one a simple non-recurring event.
>> Request << POST /user/fred/calendar/ HTTP/1.1 Host: calws.example.com Depth: 1 Content-Type: application/xml; charset="utf-8" Content-Length: xxxx <?xml version="1.0" encoding="utf-8" ?> <C:calendar-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop> <D:getetag/> <C:calendar-data content-type="application/xml+calendar" > <C:comp name="VCALENDAR"> <C:prop name="VERSION"/> <C:comp name="VEVENT"> <C:prop name="SUMMARY"/> <C:prop name="UID"/> <C:prop name="DTSTART"/> <C:prop name="DTEND"/> <C:prop name="DURATION"/> <C:prop name="RRULE"/> <C:prop name="RDATE"/> <C:prop name="EXRULE"/> <C:prop name="EXDATE"/> <C:prop name="RECURRENCE-ID"/> </C:comp> </C:comp> </C:calendar-data> </D:prop> <C:filter> <C:comp-filter name="VCALENDAR"> <C:comp-filter name="VEVENT"> <C:time-range start="20060104T000000Z" end="20060105T000000Z"/> </C:comp-filter> </C:comp-filter> </C:filter> </C:calendar-query> >> Response << HTTP/1.1 207 Multi-Status Date: Sat, 11 Nov 2006 09:32:12 GMT Content-Type: application/xml; charset="utf-8" Content-Length: xxxx <?xml version="1.0" encoding="utf-8" ?> <D:multistatus xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:response> <D:href>http://cal.example.com/bernard/work/abcd2.ics</D:href> <D:propstat> <D:prop> <D:getetag>"fffff-abcd2"</D:getetag> <C:calendar-data content-type="application/xml+calendar" > <xc:icalendar xmlns:xc="urn:ietf:params:xml:ns:icalendar-2.0"> <xc:vcalendar> <xc:properties> <xc:calscale><text>GREGORIAN</text></xc:calscale> <xc:prodid> <xc:text>-//Example Inc.//Example Calendar//EN</xc:text> </xc:prodid> <xc:version><xc:text>2.0</xc:text></xc:version> </xc:properties> <xc:components> <xc:vevent> <xc:properties> <xc:dtstart> <xc:parameters> <xc:tzid>US/Eastern<xc:tzid> <xc:parameters> <xc:date-time>20060102T120000</xc:date-time> </xc:dtstart> <xc:duration><xc:duration>PT1H</xc:duration></xc:duration> <xc:summary> <xc:text>Event #2</xc:text> </xc:summary> <xc:uid> <xc:text>00959BC664CA650E933C892C@example.com</xc:text> </xc:uid> <xc:rrule> <xc:recur> <xc:freq>DAILY</xc:freq> <xc:count>5</xc:count> </xc:recur> </xc:rrule> </xc:properties> </xc:vevent> <xc:vevent> <xc:properties> <xc:dtstart> <xc:parameters> <xc:tzid>US/Eastern<xc:tzid> <xc:parameters> <xc:date-time>20060104T140000</xc:date-time> </xc:dtstart> <xc:duration><xc:duration>PT1H</xc:duration></xc:duration> <xc:summary> <xc:text>Event #2 bis</xc:text> </xc:summary> <xc:uid> <xc:text>00959BC664CA650E933C892C@example.com</xc:text> </xc:uid> <xc:recurrence-id> <xc:parameters> <xc:tzid>US/Eastern<xc:tzid> <xc:parameters> <xc:date-time>20060104T120000</xc:date-time> </xc:recurrence-id> <xc:rrule> <xc:recur> <xc:freq>DAILY</xc:freq> <xc:count>5</xc:count> </xc:recur> </xc:rrule> </xc:properties> </xc:vevent> <xc:vevent> <xc:properties> <xc:dtstart> <xc:parameters> <xc:tzid>US/Eastern<xc:tzid> <xc:parameters> <xc:date-time>20060106T140000</xc:date-time> </xc:dtstart> <xc:duration><xc:duration>PT1H</xc:duration></xc:duration> <xc:summary> <xc:text>Event #2 bis bis</xc:text> </xc:summary> <xc:uid> <xc:text>00959BC664CA650E933C892C@example.com</xc:text> </xc:uid> <xc:recurrence-id> <xc:parameters> <xc:tzid>US/Eastern<xc:tzid> <xc:parameters> <xc:date-time>20060106T120000</xc:date-time> </xc:recurrence-id> <xc:rrule> <xc:recur> <xc:freq>DAILY</xc:freq> <xc:count>5</xc:count> </xc:recur> </xc:rrule> </xc:properties> </xc:vevent> </xc:components> </xc:vcalendar> </xc:icalendar> </C:calendar-data> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> <D:response> <D:href>http://cal.example.com/bernard/work/abcd3.ics</D:href> <D:propstat> <D:prop> <D:getetag>"fffff-abcd3"</D:getetag> <C:calendar-data content-type="application/xml+calendar" > <xcal:icalendar xmlns:xc="urn:ietf:params:xml:ns:icalendar-2.0"> <xc:vcalendar> <xc:properties> <xc:calscale><text>GREGORIAN</text></xc:calscale> <xc:prodid> <xc:text>-//Example Inc.//Example Calendar//EN</xc:text> </xc:prodid> <xc:version><xc:text>2.0</xc:text></xc:version> </xc:properties> <xc:components> <xc:vevent> <xc:properties> <xc:dtstart> <xc:parameters> <xc:tzid>US/Eastern<xc:tzid> <xc:parameters> <xc:date-time>20060104T100000</xc:date-time> </xc:dtstart> <xc:duration><xc:duration>PT1H</xc:duration></xc:duration> <xc:summary> <xc:text>Event #3</xc:text> </xc:summary> <xc:uid> <xc:text>DC6C50A017428C5216A2F1CD@example.com</xc:text> </xc:uid> <xc:rrule> <xc:recur> <xc:freq>DAILY</xc:freq> <xc:count>5</xc:count> </xc:recur> </xc:rrule> </xc:properties> </xc:vevent> </xc:components> </xc:vcalendar> </xc:icalendar> </C:calendar-data> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:multistatus>